perm filename ROMANL.MF[WEB,ALS] blob sn#636120 filedate 1982-02-11 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00027 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00003 00002	"The letter a"
C00007 00003	"The letter b"
C00011 00004	"The letter c"
C00013 00005	"The letter d"
C00017 00006	"The letter e"
C00020 00007	"The letter f"
C00026 00008	"The letter g"
C00030 00009	"The letter h"
C00035 00010	"The letter i"
C00038 00011	"The letter j"					% From i.
C00040 00012	"The letter k"					% From h.
C00044 00013	"The letter l"
C00047 00014	"The letter m"
C00052 00015	"The letter n"
C00056 00016	"The letter o"
C00058 00017	"The letter p"
C00062 00018	"The letter q"
C00066 00019	"The letter r"
C00069 00020	"The letter s"
C00072 00021	"The letter t"
C00074 00022	"The letter u"
C00078 00023	"The letter v"
C00081 00024	"The letter w"					% From v.
C00086 00025	"The letter x"					% From k.
C00090 00026	"The letter y"
C00094 00027	"The letter z"
C00095 ENDMK
CāŠ—;
"The letter a";
call charbegin(`a,10,phi+.5pwxix,0,0);

% -------------------------------------------------------------------
% Hooked right stroke with flat left edge. adgq
% Converted from hooked right stroke as used in "u".

cpen;
 rt0 x113 = good0(8.3u);	top0 y113 = hx;
     x115 = x113;		     y215 = hserifb;
lft0 x117 = r;			top0 y117 = .7hserifb;

call bchop(13, vertw,	40+180,	0,-1);
call bchop(15, vertw,	35+180,	0,-1);
call bzpen(17,	serifw,	-45);

call hookbserif(15,16,17,
		.4,.5[-o,hserifb],	.3,-o,
		.5,.75,leftedge);

call lflatstroke(13,14,15,
		.5,
		ptaper,
		ptaper,
		pshrink);

% .....................................................................

w0 ddraw
	113{w1113,w2113}..
	114{w1114,w2114}..
	115{w1115,w2115}..
	116{w1116,w2116}..
	117{w1117,w2117},
	313{w1313,w2313}..
	314{w1314,w2314}..
	315{w1315,w2315}..
	316{w1316,w2316}..
	317{w1317,w2317};

% -------------------------------------------------------------------
% Left bowl. adgq
% Modified from e.

     cpen;
call colinear(313,108,315);	     y108 = pwt[.8,.7][0,hx];
     x301 = pwt[5.5,5.2]u;	top0 y301 = hx+o;
     x101 = pwt[5.3,5.3]u;	     y101 = y301-hairw;
lft0 x303 = pwt[1.1,0.9]u;	     y303 = pwt[.4,.45][0,hx];
     x305 = pwt[3.9,4.3]u;	bot0 y305 = 0-2o;
top0 x105 = pwt[5.2,5.7]u;	     y105 = pwt[.5,.6][bot0y305,hserifb];
     x206 = x208;		bot0 y306 = hserifb;

call bchop(8,.8vertw,penangle,0,1);
call bchop(3,curvew,penangle+180,0,-1);
call bzpen(6,hairw,-60);

call dxylr(8,0,1,-1,5);
call dxy(1,-1,0);
call dxy(3,0,-1);
call puff(101,102,103,.707,.707);
call puff(301,302,303,.707,.760);
call dxy(5,1,0);
call puff(103,104,105,.707,.707);
call puff(303,304,305,.707,.707);
call haway(306,305,.72);
call haway(106,105,.65);

w0 ddraw
	108{w1108,w2108}..	% Stroke counterclockwise.
	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105}..
	106{w1106,w2106},
	308{w1308,w2308}..
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305}..
	306{w1306,w2306};
.

"The letter b";
call charbegin(`b,10,phi+.5pwxix,0,0);

% -------------------------------------------------------------------
% Ascending staff. b/d/h/k/l

cpen;
new seriflength; seriflength = 1.6u;

lft0 x301 = seriflength;	top0 y101 = hh;
     x303 = x301;                    y303 = .35[0,hx];

call bchop(1, vertw,		6+180,	0,-1);
call chop(3, 1.2vertw,vertw,	10+180,	0,-1);

call taper(	1,2,3,
		.45,
		ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);
			
call aserif(	101,301,302,
		4,5,6,7,8,
		serifw,seriflength,seriflength,
		.8,.7,
		0);
		
% .....................................................................

w0 ddraw
	5{w1005,w2005}.. % Left tall stroke, starting with the serif.
	4{w1004,w2004}..
	4{w1004,w2004},
	6{w1006,w2006}..
	7{w1007,w2007}..
	8{w1008,w2008};

ddraw	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103},
	8{w1008,w2008}..
	302{w1302,w2302}..
	303{w1303,w2303};

% -------------------------------------------------------------------
% Right bowl. p b. Modified from:
% Left bowl. adgq
% Modified from e.

     cpen;
call samezpoint(13,3);
     x315 = pwt[4.3,5.1]u;	bot0 y315 = 0-o;
     x115 = pwt[4.6,5.1]u;	     y115 = y315+hairw;
 rt0 x317 = pwt[9.0,9.2]u;	     y317 = pwt[.55,.6][0,hx];
     x311 = pwt[6.6,6.7]u;	top0 y311 = hx+o;
     x212 = x213;		     y212 = pwt[.66,.66][0,hx];

call bzpen(11,.6[hairw,curvew],60);
call bzpen(12,hairw,-60+180);
call bchop(17,curvew,30,0,1);

call sameslope(13,3);
call dxy(15,1,0);
call dxy(17,0,1);
call dxy(11,-1,0);
call puff(117,118,111,.780,.780);
call puff(317,318,311,.707,.707);
call haway(312,311,.45);
call haway(112,111,.55);

w0 ddraw
	113{w1113,w2113}..	% Stroke counterclockwise from bottom.
	115{w1115,w2115}..
	117{w1117,w2117}..
	111{w1111,w2111}..
	112{w1112,w2112},
	313{w1313,w2313}..
	315{w1315,w2315}..
	317{w1317,w2317}..
	311{w1311,w2311}..
	312{w1312,w2312};
.
"The letter c";
call charbegin(`c,8,phi+.5pwxix,0,0);

% -------------------------------------------------------------------
% Left bowl.

     cpen;
 rt0 x308    = r;	             y308    = pwt[.8,.8][0,hx];
     x301    = pwt[5.4,5.1]u;   top0 y301    = hx+o;
     x101    = pwt[5.2,4.9]u;        y101    = y301-hairw;
lft0 x303    = pwt[1.1,1.0]u;        y303    = pwt[.35,.35][0,hx];
     x305    = pwt[4.3,4.3]u;   bot0 y305    = 0-2o;
     x105    = pwt[5.3,5.1]u;        y105    = y305+.4[curvew,serifw];
 rt0 x306    = r;	        top0 y106    = pwt[.9,1.1][0,hserifb];

call bzpen(8,diagw,32);
call bchop(3,curvew,penangle+180,0,-1);
call bzpen(6,serifw,-60);

call dxylr(8,-1,7,-1,12);
call dxy(1,-1,0);
call dxy(3,0,-1);
call pufflr(1,2,3,.72,.74);
call dxy(5,1,0);
call haway(306,305,.65);
call haway(106,105,.7);

w0 ddraw
	108{w1108,w2108}..	% Stroke counterclockwise.
	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103}..
	105{w1105,w2105}..
	106{w1106,w2106},
	308{w1308,w2308}..
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	305{w1305,w2305}..
	306{w1306,w2306};

.
"The letter d";
call charbegin(`d,10,phi+.5pwxix,0,0);

% -------------------------------------------------------------------
% Ascending staff. b/d/h/k/l

cpen;
new seriflength; seriflength = 1.6u;

 rt0 x113 = r-seriflength;	top0 y113 = hh;
     x115 = x113;		     y115 = y117;
 rt0 x217 = r+oh;		     y117 = hserifb;

call bchop(13, vertw,	6+180,	0,-1);
call bchop(15, vertw,	10+180,	0,-1);
call bzpen(17, serifw,	-45);

call rflatstroke(	13,14,15,
			.45,
			ptaper,ptaper,pshrink);
call aserif(	113,313,314,
		4,5,6,7,8,
		serifw,seriflength,seriflength,
		.8,.7,
		0);
		
% .....................................................................

w0 ddraw
	5{w1005,w2005}.. 	% Left tall stroke, draw only the serif.
	4{w1004,w2004}..
	4{w1004,w2004},
	6{w1006,w2006}..
	7{w1007,w2007}..
	8{w1008,w2008};

% -------------------------------------------------------------------

call hookbserif(15,16,17,
		.4,serifconst[-o,hserifb],	.3,-o,
		.5,.5,leftedge);
		
% .....................................................................

w0 ddraw
	113{w1113,w2113}..
	114{w1114,w2114}..
	115{w1115,w2115}..
	116{w1116,w2116}..
	117{w1117,w2117},
	8{w1008,w2008}..
	314{w1314,w2314}..
	315{w1315,w2315}..
	316{w1316,w2316}..
	317{w1317,w2317};

% -------------------------------------------------------------------
% Left bowl. adgq
% Modified from e.

     cpen;
call colinear(313,108,315);	     y108 = pwt[.8,.7][0,hx];
     x301 = pwt[5.5,5.2]u;	top0 y301 = hx+o;
     x101 = pwt[5.3,5.3]u;	     y101 = y301-hairw;
lft0 x303 = pwt[1.1,0.9]u;	     y303 = pwt[.4,.45][0,hx];
     x305 = pwt[3.9,4.3]u;	bot0 y305 = 0-2o;
top0 x105 = pwt[5.2,5.7]u;	     y105 = pwt[.5,.6][bot0y305,hserifb];
     x206 = x208;		bot0 y306 = hserifb;

call bchop(8,.8vertw,penangle,0,1);
call bchop(3,curvew,penangle+180,0,-1);
call bzpen(6,hairw,-60);

call dxylr(8,0,1,-1,5);
call dxy(1,-1,0);
call dxy(3,0,-1);
call puff(101,102,103,.707,.707);
call puff(301,302,303,.707,.760);
call dxy(5,1,0);
call puff(103,104,105,.707,.707);
call puff(303,304,305,.707,.707);
call haway(306,305,.72);
call haway(106,105,.65);

w0 ddraw
	108{w1108,w2108}..	% Stroke counterclockwise.
	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105}..
	106{w1106,w2106},
	308{w1308,w2308}..
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305}..
	306{w1306,w2306};

.
"The letter e";
call charbegin(`e,9,phi+.5pwxix,0,0);

% -------------------------------------------------------------------
% Left bowl.

     cpen;
 rt0 x308    = pwt[8.5,8.6]u;        y308    = pwt[.7,.74][0,hx];
     x301    = 5.8u;            top0 y301    = hx+o;
     x101    = 5.2u;                 y101    = y301-hairw;
lft0 x303    = pwt[1.3,1.0]u;        y303    = pwt[.4,.4][0,hx];
     x305    = pwt[4.1,4.3]u;   bot0 y305    = 0-2o;
top0 x105    = pwt[5.2,5.7]u;        y105    = y305+.35[curvew,serifw];
     x106    = pwt[7.9,8.2]u;   top0 y106    = hserifb;

call bzpen(8,curvew,penangle);
call bchop(3,curvew,180,0,-1);
call bzpen(6,serifw,-60);

call dxylr(8,0,1,1,5);
call dxy(1,-1,0);
call puff(108,109,101,.75,.75);
call puff(308,309,301,.727,.687);
call dxy(3,0,-1);
call pufflr(1,2,3,.74,.76);
call dxy(5,1,0);
call haway(306,305,.55);
call haway(106,105,.6);

w0 ddraw
	108{w1108,w2108}..	% Stroke counterclockwise.
	109{w1109,w2109}..
	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103}..
	105{w1105,w2105}..
	106{w1106,w2106},
	308{w1308,w2308}..
	309{w1309,w2309}..
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	305{w1305,w2305}..
	306{w1306,w2306};

% -------------------------------------------------------------------
% Crossbar

x211	= x203;
call samepoint(312,308);
call angledline(211,212,penangle);

call bzpen(11,hairw,penangle-90);
call bzpen(12,hairw,penangle-90);
call lineslope(111,112);
call lineslope(311,312);

w0 ddraw
	111{w1111,w2111}..	% Stroke to the right.
	112{w1112,w2112},
	311{w1311,w2311}..
	312{w1312,w2312};
.
"The letter f";
call charbegin(`f,6,ph,0,0);

% ---------------------------------------------------------------------
% Main stem.

cpen;
     x201 = .5r;		     y101 = 0;
     x203 = .5r;		     y203 = ht;

call bchop(1,	1.1vertw,	10,  	0,1);
call bchop(3,	vertw,	0,  	0,1);

call taper(1,2,3,	.8,2ptaper,2ptaper,ptaper,ptaper,sqrt pshrink,sqrt pshrink);

cpen; w0 draw 101;

ddraw	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103},
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303};

% ---------------------------------------------------------------------
% Cross bar.

lft0 x111 = 0;		y111 = ht;
 rt0 x112 = r;		y112 = y111;		
call bzpen(11,  hairw,	-110);
call bzpen(12,  hairw,	-110);

call lineslope(111,112);
call lineslope(311,312);

ddraw	111{w1111,w2111}..
	112{w1112,w2112},
	311{w1311,w2311}..
	312{w1312,w2312};

% ---------------------------------------------------------------------
% Overhang.

call samezpoint(3,21);
     x124 = r+1.5u;		     y224 = hdot;	% Tip of overhang.

call bzpen(24,	diagw,	-135);
call hookbserif(21,23,24,
		.7,hh+o,.55,.4[hh+o,y324],
		.1,.05,leftedge);
call sameslope(21,1);
call puff(121,122,123,.65,.8);
call puff(321,322,323,.75,.85);

ddraw	121{w1121,w2121}..
	122{w1122,w2122}..
	123{w1123,w2123}..
	124{w1124,w2124},
	321{w1321,w2321}..
	322{w1322,w2322}..
	323{w1323,w2323}..
	324{w1324,w2324};
.
% "The letter f";
% call charbegin(`f,6,ph,0,0);
% 
% % ---------------------------------------------------------------------
% % Main stem.
% 
% cpen;
% x201	= .5r;		y101	= 0;
% x203	= .5r;		y203	= good0 ht;
% 
% call bchop(1,	1.3vertw,	10,  	0,1);
% call bchop(3,	1.2vertw,	0,  	0,1);
% 
% call taper(1,2,3,	.8,2ptaper,2ptaper,ptaper,ptaper,sqrt pshrink,sqrt pshrink);
% 
% % .....................................................................
% 
% w0 ddraw
% 	101{w1101,w2101}..
% 	102{w1102,w2102}..
% 	103{w1103,w2103},
% 	301{w1301,w2301}..
% 	302{w1302,w2302}..
% 	303{w1303,w2303};
% 
% % ---------------------------------------------------------------------
% % Cross bar.
% 
% lft0x211= 0;		y111	= y203;
% rt0x212	= r;		y112	= y111;		
% call bzpen(11,	1.0w13,	-90);
% call bzpen(12,	1.0w13,	-90);
% 
% call lineslope(111,112);
% call lineslope(311,312);
% 
% % .....................................................................
% 
% w0 ddraw
% 	111{w1111,w2111}..
% 	112{w1112,w2112},
% 	311{w1311,w2311}..
% 	312{w1312,w2312};
% 
% % ---------------------------------------------------------------------
% % Overhang.
% 
% call samezpoint(3,21);
% x124	= r+1.5u;	y224	= hdot;		% Tip of overhang.
% 
% call zpen(24,	.65diagw,.6 diagw,	-135);
% 
% call hookbserif(21,23,24,
% 		   .7,hh+o,.55,.4[hh+o,y324],
% 		   .1,.05,rightedge);
% 
% call sameslope(21,1);
% call puff(121,122,123,.65,.8);
% call puff(321,322,323,.75,.85);
% 
% % .....................................................................
% 
% w0 ddraw
% 	121{w1121,w2121}..
% 	122{w1122,w2122}..
% 	123{w1123,w2123}..
% 	124{w1124,w2124},
% 	321{w1321,w2321}..
% 	322{w1322,w2322}..
% 	323{w1323,w2323}..
% 	324{w1324,w2324};
% .
"The letter g";
call charbegin(`g,10,phi+.5pwxix,0,0);

% -------------------------------------------------------------------
% Right stroke. Truncated from arch. h/n u m

cpen;
rt0 x113 = good0(8.3u);		top0 y113 = hx;
    x115 = x113;		     y115 = hserifb;

call bchop(13, 1.09vertw,	40+180,	0,-1);
call bchop(15, 1.06vertw,	25+180,	0,-1);

call taper(	13,14,15,
		.5,ptaper,ptaper,ptaper,ptaper,pshrink,1);

% .....................................................................

w0 ddraw
	113{w1113,w2113}..
	114{w1114,w2114}..
	115{w1115,w2115},
	313{w1313,w2313}..
	314{w1314,w2314}..
	315{w1315,w2315};

% -------------------------------------------------------------------
% Left bowl. adgq
% Modified from e.

     cpen;
call colinear(313,108,315);	     y108 = pwt[.8,.7][0,hx];
     x301 = pwt[5.5,5.2]u;	top0 y301 = hx+o;
     x101 = pwt[5.3,5.3]u;	     y101 = y301-hairw;
lft0 x303 = pwt[1.1,0.9]u;	     y303 = pwt[.4,.45][0,hx];
     x305 = pwt[3.9,4.3]u;	bot0 y305 = 0-2o;
top0 x105 = pwt[5.2,5.7]u;	     y105 = pwt[.5,.6][bot0y305,hserifb];
     x206 = x208;		bot0 y306 = hserifb;

call bchop(8,1.05vertw,penangle,0,1);
call bchop(3,curvew,penangle+180,0,-1);
call bzpen(6,hairw,-60);

call dxylr(8,0,1,-1,5);
call dxy(1,-1,0);
call dxy(3,0,-1);
call puff(101,102,103,.707,.707);
call puff(301,302,303,.707,.760);
call dxy(5,1,0);
call puff(103,104,105,.707,.707);
call puff(303,304,305,.707,.707);
call haway(306,305,.72);
call haway(106,105,.65);

w0 ddraw
	108{w1108,w2108}..	% Stroke counterclockwise.
	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105}..
	106{w1106,w2106},
	308{w1308,w2308}..
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305}..
	306{w1306,w2306};

% ---------------------------------------------------------------------
% Underhang. Converted from overhang.

call samezpoint(15,21);
     x124 = .8[0,x303];		     y124 = .7[0,hy];	% Tip of overhang.

call bzpen(24,	diagw,	53);

call hookbserif(21,23,24,
%		.7,hh+o,.55,.4[hh+o,y324],
		.7,(hy-o),.55,(hy-o)+.5[diagw,hairw],
		.1,.2,rightedge);

call sameslope(21,13);
call puff(121,122,123,.65,.85);
call puff(321,322,323,.65,.8);

% .....................................................................

w0 ddraw
	121{w1121,w2121}..
	122{w1122,w2122}..
	123{w1123,w2123}..
	124{w1124,w2124},
	321{w1321,w2321}..
	322{w1322,w2322}..
	323{w1323,w2323}..
	324{w1324,w2324};

.
"The letter h";
call charbegin(`h,10,phi+.5pwxix,0,0);

% -------------------------------------------------------------------
% Ascending staff. b/d/h/k/l

cpen;
new seriflength; seriflength = 1.6u;

lft0 x301 = seriflength;	top0 y101 = hh;
 rt0 x103 = rt0x101;		bot0 y303= 0;

call bchop(1, 1.2vertw,	186,	0,-1);
call chop(3,  1.1vertw,1.3vertw,	10+180,	0,-1);

call taper(	1,2,3,
		.45,
		ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);
			
call aserif(	101,301,302,
		4,5,6,7,8,
		serifw,seriflength,seriflength,
		.8,.7,
		0);
		
% .....................................................................

w0 ddraw
	5{w1005,w2005}.. % Left tall stroke, starting with the serif.
	4{w1004,w2004}..
	4{w1004,w2004},
	6{w1006,w2006}..
	7{w1007,w2007}..
	8{w1008,w2008};

ddraw	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103},
	8{w1008,w2008}..
	302{w1302,w2302}..
	303{w1303,w2303};

% -------------------------------------------------------------------
% Arch. h/n u m

cpen;
call colinear(201,211,203);	     y211 = .9[0,hserifa];
 rt0 x113 = good0(8.3u);	     y213 = .85[0,hserifa];
     x115 = x113;		     y215 = y217;
 rt0 x317 = r+1u;		top0 y117 = hserifb;

call bzpen(11,	serifw,	-60);
call bchop(13,	1.04vertw,	10+180,	0,-1);
call bchop(15,	1.04vertw,	25+180,	0,-1);
call bzpen(17,	serifw,	-45);

call hookaserif(11,12,13,
		.7,hx+o,	.7,serifconst[hx+o,hserifa],
		.5,.5,leftedge);
call hookbserif(15,16,17,
		.4,serifconst[-o,hserifb],	.3,-o,
		.5,.75,leftedge);

call taper(     13,14,15,
		.5,ptaper,ptaper,ptaper,ptaper,pshrink,1);

% .....................................................................

w0 ddraw
	111{w1111,w2111}..
	112{w1112,w2112}..
	113{w1113,w2113}..
	114{w1114,w2114}..
	115{w1115,w2115}..
	116{w1116,w2116}..
	117{w1117,w2117},
	311{w1311,w2311}..
	312{w1312,w2312}..
	313{w1313,w2313}..
	314{w1314,w2314}..
	315{w1315,w2315}..
	316{w1316,w2316}..
	317{w1317,w2317};
.
"The letter i";
call charbegin(`i,6,phi+.5pwxix,0,0);

cpen;
     x201 = 0;			     y301 = hserifa;	% Terminals.
     x203 = good0 .5r;		     y203 = y201;	% Main stroke.
     x105 = x103;		     y205 = y207;
     x207 = r;			     y107 = hserifb;

call bzpen(1,	serifw,	-60);
call bchop(3,	1.04vertw,	10+180,	0,-1);
call bchop(5,	1.04vertw,	10+180,	0,-1);
call bzpen(7,	serifw,	-45);

call hookaserif(1,2,3,
		.7,hx+o,	.7,serifconst[hx+o,hserifa],
		.5,.5,leftedge);
call hookbserif(5,6,7,
		.4,serifconst[-o,hserifb],	.3,-o,
		.5,.5,leftedge);

call taper(     3,4,5,	.5,ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);

% .....................................................................

w0 ddraw
	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105}..
	106{w1106,w2106}..
	107{w1107,w2107},
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305}..
	306{w1306,w2306}..
	307{w1307,w2307};

% ---------------------------------------------------------------------
% Dot.

call ldot(1.7u,hdot,dotw);

.
"The letter j";					% From i.
call charbegin(`j,6,phi+.5pwxix,0,0);

cpen;
     x201 = 0;			     y301 = hserifa;
     x203 = good0 .5r;		     y203 = y201;
     x105 = x103;		     y205 = hserifb;
     x107 = 0;			bot0 y107 = hy;

call bzpen(1,	serifw,	-60);
call bchop(3,	1.04vertw,	10+180,	0,-1);
call bchop(5,	1.04vertw,	10+180,	0,-1);
call bzpen(7,	serifw,	-50+180);
call vaway(107,105,.4);
call vaway(307,305,.4);

call hookaserif(1,2,3,
		.7,hx+o,	.7,serifconst[hx+o,hserifa],
		.5,.5,leftedge);
call taper(3,4,5,	.5,ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);
call puff(105,106,107,.8,.71);
call puff(305,306,307,.86,.7);

% .....................................................................

w0 ddraw
	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105}..
	106{w1106,w2106}..
	107{w1107,w2107},
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305}..
	306{w1306,w2306}..
	307{w1307,w2307};

% ---------------------------------------------------------------------
% Dot.

call ldot(1.7u,hdot,dotw);

.
"The letter k";					% From h.
call charbegin(`k,9,phi+.5pwxix,0,0);

% -------------------------------------------------------------------
% Ascending staff. b/d/h/k/l

cpen;
new seriflength; seriflength = 1.6u;

lft0 x301 = seriflength;	top0 y101 = hh;
 rt0 x103 = rt0x101;		bot0 y303= 0;

call bchop(1, 1.1vertw,	186,	0,-1);
call chop(3,  1vertw,1.2vertw,	10+180,	0,-1);

call taper(	1,2,3,
		.45,
		ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);
			
call aserif(	101,301,302,
		4,5,6,7,8,
		serifw,seriflength,seriflength,
		.8,.7,
		0);
		
% .....................................................................

w0 ddraw
	5{w1005,w2005}.. % Left tall stroke, starting with the serif.
	4{w1004,w2004}..
	4{w1004,w2004},
	6{w1006,w2006}..
	7{w1007,w2007}..
	8{w1008,w2008};

ddraw	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103},
	8{w1008,w2008}..
	302{w1302,w2302}..
	303{w1303,w2303};

% -------------------------------------------------------------------
% Diagonal stroke: up to the right.

     x114 = x102;		     y114 = .55[0,hx];
     x116 = 7.4u;		top0 y116 = hx+o;

call bzpen(14, hairw,	0);
call bzpen(16, horzw,	-40);
call taper(14,15,16,	.5,ptaper,ptaper,ptaper,ptaper,(1/pshrink),pshrink);

ddraw	114{w1114,w2114}..
	115{w1115,w2115}..
	116{w1116,w2116},
	314{w1314,w2314}..
	315{w1315,w2315}..
	316{w1316,w2316};

% -------------------------------------------------------------------
% Diagonal stroke: down to the right.

call samepoint(323,114);
     x125 = 6.8u;		     y125 = hserifb;
 rt0 x327 = r+.5oh;		top0 y127 = hserifb;

call bzpen(23, vertw,	40+180);
call bzpen(25, vertw,	40+180);
call bzpen(27,	serifw,	-50);
call taper(23,24,25,	.5,ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);
call hookbserif(25,26,27,
		.5,serifconst[-o,hserifb],	.4,-o,
		.7,.7,leftedge);

ddraw	123{w1123,w2123}..
	124{w1124,w2124}..
	125{w1125,w2125}..
	126{w1126,w2126}..
	127{w1127,w2127},
	323{w1323,w2323}..
	324{w1324,w2324}..
	325{w1325,w2325}..
	326{w1326,w2326}..
	327{w1327,w2327};
.
"The letter l";
call charbegin(`l,5,phi+.5pwxix,0,0);

% -------------------------------------------------------------------
% Ascending staff. b/d/h/k/l

cpen;
new seriflength; seriflength = 1.6u;

lft0 x301 = seriflength;	top0 y101 = hh;
     x103 = x101;		     y103 = y105;
     x205 = r;			     y105 = hserifb;

call bchop(1, 1.2vertw,	6+180,	0,-1);
call chop(3,  1.1vertw,1.3vertw,	10+180,	0,-1);

call taper(	1,2,3,
		.45,
		ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);

call aserif(	101,301,302,
		4,5,6,7,8,
		serifw,seriflength,seriflength,
		.8,.7,
		0);
		
% .....................................................................

w0 ddraw
	5{w1005,w2005}.. 	% Left tall stroke, draw only the serif.
	4{w1004,w2004}..
	4{w1004,w2004},
	6{w1006,w2006}..
	7{w1007,w2007}..
	8{w1008,w2008};

% -------------------------------------------------------------------

call bzpen(5,	serifw,	-45);

call hookbserif(3,4,5,
		.4,serifconst[-o,hserifb],	.3,-o,
		.5,.5,leftedge);
		
% .....................................................................

w0 ddraw
	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105},
	8{w1008,w2008}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305};

.
"The letter m";
call charbegin(`m,15,phi+.5pwxix,0,0);

% -------------------------------------------------------------------
% Hooked left stroke. n/m/r t (u/a)

cpen;
new seriflength; seriflength = 1.6u;

     x301 = -.3u;		     y301 = hserifa;
     x203 = 2.5u;		     y203 = y201;
     x105 = x103;		     y305 = 0;

call bzpen(1,	serifw,	-60);
call bchop(3,	1.04vertw,	10+180,	0,-1);
call bchop(5,	1.04vertw,	10+180,	0,-1);

call hookaserif(1,2,3,
		.7,hx+o,	.7,serifconst[hx+o,hserifa],
		.5,.5,leftedge);

call taper(     3,4,5,
		.5,ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);

% .....................................................................

w0 ddraw
	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105},
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305};

% -------------------------------------------------------------------
% Arch 1. h/n u m

cpen;
call colinear(203,211,205);	     y211 = .9hserifa;
     x213 = 7.4u;		     y213 = .85hserifa;	
     x115 = x113;		     y215 = 0;

call bzpen(11,	serifw,	-60);
call bchop(13,	1.04vertw,	10+180,	0,-1);
call bchop(15,	1.04vertw,	25+180,	0,-1);

call hookaserif(11,12,13,
		.7,hx+o,	.7,serifconst[hx+o,hserifa],
		.5,.5,leftedge);

call taper(     13,14,15,
		.5,ptaper,ptaper,ptaper,ptaper,pshrink,1);

% .....................................................................

w0 ddraw
	111{w1111,w2111}..
	112{w1112,w2112}..
	113{w1113,w2113}..
	114{w1114,w2114}..
	115{w1115,w2115},
	311{w1311,w2311}..
	312{w1312,w2312}..
	313{w1313,w2313}..
	314{w1314,w2314}..
	315{w1315,w2315};

% -------------------------------------------------------------------
% Arch 2. h/n u m

cpen;
call colinear(213,221,215);	     y221 = .9hserifa;
lft0 x323 = 11.6u;		     y223 = .85hserifa;	% Main stroke.
     x125 = x123;		     y225 = y227;
 rt0 x327 = r+pwt[.6u,.3u];	top0 y127 = hserifb;

call bzpen(21,	serifw,	-60);
call bchop(23,	1.04vertw,	10+180,	0,-1);
call bchop(25,	1.04vertw,	25+180,	0,-1);
call bzpen(27,	serifw,	-45);

call hookaserif(21,22,23,
		.7,hx+o,	.7,serifconst[hx+o,hserifa],
		.5,.5,leftedge);
call hookbserif(25,26,27,
		.4,serifconst[-o,hserifb],	.3,-o,
		.5,.75,leftedge);

call taper(	23,24,25,
		.5,ptaper,ptaper,ptaper,ptaper,pshrink,1);

% .....................................................................

w0 ddraw
	121{w1121,w2121}..
	122{w1121,w2122}..
	123{w1123,w2123}..
	124{w1124,w2124}..
	125{w1125,w2125}..
	126{w1126,w2126}..
	127{w1127,w2127},
	321{w1321,w2321}..
	322{w1322,w2322}..
	323{w1323,w2323}..
	324{w1324,w2324}..
	325{w1325,w2325}..
	326{w1326,w2326}..
	327{w1327,w2327};
.
"The letter n";
call charbegin(`n,10,phi+.5pwxix,0,0);

% -------------------------------------------------------------------
% Hooked left stroke. n/m/r t (u/a)

cpen;
new seriflength; seriflength = 1.6u;

     x201 = -.5u;		     y301 = hserifa;
lft0 x303 = seriflength;	     y203   = y201;
     x105 = x103;		bot0 y305 = 0;

call bzpen(1,	serifw,	-60);
call bchop(3,	vertw,	10+180,	0,-1);
call bchop(5,	vertw,	10+180,	0,-1);

call hookaserif(1,2,3,
		.7,hx+o,	.7,serifconst[hx+o,hserifa],
		.5,.5,leftedge);

call taper(     3,4,5,
		.5,ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);

% .....................................................................

w0 ddraw
 	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105},
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305};

% -------------------------------------------------------------------
% Arch. h/n u m

cpen;
call colinear(203,211,205);	     y211 = .9[0,hserifa];
 rt0 x113 = good0(8.3u);	     y113 = .95[0,hserifa];
     x115 = x113;		     y215 = y217;
 rt0 x317 = r+pwt[.8u,.3u];	top0 y117 = hserifb;

call bzpen(11,	serifw,	-60);
call bchop(13,	1.04vertw,	40+180,	0,-1);
call bchop(15,	1.04vertw,	25+180,	0,-1);
call bzpen(17,	serifw,	-45);

call hookaserif(11,12,13,
		.7,hx+o,	.7,serifconst[hx+o,hserifa],
		.5,.5,leftedge);
call hookbserif(15,16,17,
		.4,serifconst[-o,hserifb],	.3,-o,
		.5,.5,leftedge);

call taper(	13,14,15,
		.5,ptaper,ptaper,ptaper,ptaper,pshrink,1);

% .....................................................................

w0 ddraw
	111{w1111,w2111}..
	112{w1112,w2112}..
	113{w1113,w2113}..
	114{w1114,w2114}..
	115{w1115,w2115}..
	116{w1116,w2116}..
	117{w1117,w2117},
	311{w1311,w2311}..
	312{w1312,w2312}..
	313{w1313,w2313}..
	314{w1314,w2314}..
	315{w1315,w2315}..
	316{w1316,w2316}..
	317{w1317,w2317};
.
"The letter o";
call charbegin(`o,11,phi+.5pwxix,0,0);

% -------------------------------------------------------------------
% Complete bowl.

     cpen;
     x301    = 5.8u;            top0 y301    = hx+o;
     x101    = 5.5u;                 y101    = y301-hairw;
lft0 x303    = pwt[1.3,0.9]u;        y303    = pwt[.45,.45][0,hx];
     x305    = pwt[5.0,5.0]u;   bot0 y305    = 0-o;
     x105    = pwt[5.2,5.7]u;        y105    = y305+hairw;
 rt0 x307    = pwt[9.7,10.0]u;       y307    = pwt[.55,.55][0,hx];

call bchop(3,curvew,penangle+180,0,-1);
call bchop(7,curvew,penangle,0,1);

call dxy(1,-1,0);
call dxy(3,0,-1);
call dxy(5,1,0);
call dxy(7,0,1);
call pufflr(1,2,3,.72,.76);
call pufflr(3,4,5,.72,.76);
call pufflr(5,6,7,.72,.707);
call pufflr(7,8,1,.72,.76);

w0 ddraw
	101{w1101,w2101}..	% Stroke counterclockwise.
	102{w1102,w2102}..
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105}..
	106{w1106,w2106}..
	107{w1107,w2107}..
	108{w1108,w2108}..
	101{w1101,w2101},
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305}..
	306{w1306,w2306}..
	307{w1307,w2307}..
	308{w1308,w2308}..
	301{w1301,w2301};

.
"The letter p";
call charbegin(`p,10,phi+.5pwxix,0,0);

% -------------------------------------------------------------------
% Extended hooked left stroke. p. Modified from:
% Hooked left stroke. n/m/r t (u/a).

cpen;
new seriflength; seriflength = 1.6u;

     x201    = -.5u;                 y301    = hserifa;
     lft0x303= seriflength;          y203    = y201;
     x105    = x103;                 y305    = 0;
     x206    = x205;            bot0 y306    = hy-o;

call bzpen(1,	serifw,	-60);
call bchop(3,	1.04vertw,		10+180,	0,-1);
call bchop(5,	1.04vertw,		10+180,	0,-1);
call chop(6,	1.2vertw,1.1vertw,	20+180,	0,-1);

call hookaserif(1,2,3,
		.77,hx+o,	.7,.7[hx+o,hserifa],
		.7,.5,leftedge);
call lflatstroke(3,4,5,
		.5,ptaper,ptaper,pshrink);
call flaretoward(5,6,	ptaper,ptaper,pshrink);

% .....................................................................

w0 ddraw
 	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105}..
	106{w1106,w2106},
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305}..
	306{w1306,w2306};

% -------------------------------------------------------------------
% Right bowl. p b. Modified from:
% Left bowl. adgq
% Modified from e.

     cpen;
call colinear(103,114,105);	     y114 = pwt[.2,.3][0,hx];
     x315 = pwt[4.3,5.1]u;	bot0 y315 = 0-o;
     x115 = pwt[4.6,5.1]u;	     y115 = y315+hairw;
 rt0 x317 = pwt[9.0,9.2]u;	     y317 = pwt[.55,.6][0,hx];
     x117 = x317-.5[curvew,diagw];   y117 = pwt[.45,.55][0,hx];
     x311 = pwt[6.6,6.7]u;	top0 y311 = hx+o;
     x111 = pwt[5.5,5.5]u;      y311-y111 = vertw;
     x212 = x214;		     y212 = pwt[.66,.66][0,hx];

call bchop(14,1.05vertw,penangle+180,0,-1);
call bzpen(12,hairw,-60+180);

call dxylr(14,0,-1,1,-5);
call dxy(15,1,0);
call dxy(17,0,1);
call dxy(11,-1,0);
call puff(117,118,111,.780,.780);
call puff(317,318,311,.707,.707);
call haway(312,311,.45);
call haway(112,111,.55);

w0 ddraw
	114{w1114,w2114}..	% Stroke counterclockwise from bottom.
	115{w1115,w2115}..
	117{w1117,w2117}..
	111{w1111,w2111}..
	112{w1112,w2112},
	314{w1314,w2314}..
	315{w1315,w2315}..
	317{w1317,w2317}..
	311{w1311,w2311}..
	312{w1312,w2312};
.
"The letter q";
call charbegin(`q,10,phi+.5pwxix,0,0);

% -------------------------------------------------------------------
% Right stroke. Truncated from arch. h/n u m

cpen;
rt0 x113 = good0(8.3u);		     y213 = hx;
    x115 = x113;		     y115 = hserifb;

call bchop(13, 1.09vertw,	40+180,	0,-1);
call bchop(15, 1.06vertw,	25+180,	0,-1);

call taper(	13,14,15,
		.5,ptaper,ptaper,ptaper,ptaper,pshrink,1);

% .....................................................................

w0 ddraw
	113{w1113,w2113}..
	114{w1114,w2114}..
	115{w1115,w2115},
	313{w1313,w2313}..
	314{w1314,w2314}..
	315{w1315,w2315};

% -------------------------------------------------------------------
% Descender. pq.

     x216    = x215;            bot0 y316    = hy-o;
call chop(16,	1.2vertw,1.05vertw,	20+180,	0,-1);
call flaretoward(15,16,	ptaper,ptaper,pshrink);

w0 ddraw
	115{w1115,w2115}..
	116{w1116,w2116},
	315{w1315,w2315}..
	316{w1316,w2316};

% -------------------------------------------------------------------
% Left bowl. adgq
% Modified from e.

     cpen;
call colinear(313,108,315);	     y108 = pwt[.8,.7][0,hx];
     x301 = pwt[5.5,5.2]u;	top0 y301 = hx+o;
     x101 = pwt[5.3,5.3]u;	     y101 = y301-hairw;
lft0 x303 = pwt[1.1,0.9]u;	     y303 = pwt[.4,.45][0,hx];
     x305 = pwt[3.9,4.3]u;	bot0 y305 = 0-2o;
top0 x105 = pwt[5.2,5.7]u;	     y105 = pwt[.5,.6][bot0y305,hserifb];
     x206 = x208;		bot0 y306 = hserifb;

call bchop(8,.8vertw,penangle,0,1);
call bchop(3,curvew,penangle+180,0,-1);
call bzpen(6,hairw,-60);

call dxylr(8,0,1,-1,5);
call dxy(1,-1,0);
call dxy(3,0,-1);
call puff(101,102,103,.707,.707);
call puff(301,302,303,.707,.760);
call dxy(5,1,0);
call puff(103,104,105,.707,.707);
call puff(303,304,305,.707,.707);
call haway(306,305,.72);
call haway(106,105,.65);

w0 ddraw
	108{w1108,w2108}..	% Stroke counterclockwise.
	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105}..
	106{w1106,w2106},
	308{w1308,w2308}..
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305}..
	306{w1306,w2306};

.
"The letter r";
call charbegin(`r,6,phi+.5pwxix,0,0);

% -------------------------------------------------------------------
% Hooked left stroke. n/m/r t (u/a)

cpen;
new seriflength; seriflength = 1.6u;

     x201 = -.5u;		     y301 = hserifa;
lft0 x303 = seriflength;	     y203 = y201;
     x105 = x103;		     y305 = 0;

call bzpen(1,	serifw,	-60);

call bchop(3, 1.04vertw,	190,	0,-1);
call bchop(5, 1.04vertw,	190,	0,-1);
call hookaserif(1,2,3,
		.7,hx+o,	.7,serifconst[hx+o,hserifa],
		.5,.5,leftedge);

call taper(     3,4,5,
		.5,ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);

% .....................................................................

w0 ddraw
 	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105},
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305};

% -------------------------------------------------------------------
% Ear. r 
% (Truncated arch.)

 rt0 x113 = good0 (r+oh);	     y213 = hserifa;
     x115 = x113;		     y215 = y217;
call colinear(203,211,205);	     y211 = .9hserifa;
 rt0 x317 = r+pwt[.8u,.3u];	top0 y117 = hserifb;

call bzpen(11,	serifw,	-60);
call bzpen(17,	serifw,	-45);

call bchop(13, 1.04vertw,	220,	0,-1);
call bchop(15, 1.04vertw,	205,	0,-1);
call hookaserif(11,12,13,
		.7,hx+o,	.7,serifconst[hx+o,hserifa],
		.5,.5,leftedge);
call hookbserif(15,16,17,
		.4,serifconst[-o,hserifb],	.3,-o,
		.5,.75,leftedge);
call taper(	13,14,15,
		.5,ptaper,ptaper,ptaper,ptaper,pshrink,1);

% .....................................................................

w0 ddraw
	111{w1111,w2111}..
	112{w1112,w2112}..
	113{w1113,w2113},
	311{w1311,w2311}..
	312{w1312,w2312}..
       	313{w1313,w2313};
.
"The letter s";
call charbegin(`s,7,phi+.5pwxix,0,0);

     cpen;
     x101    = 5u;                   y101    = 1.3[hx,hserifa];
 rt0 x302    = 4.2u;            top0 y302    = hx+2o;        y102 = y302-hairw;
lft0 x303    = pwt[1.0,0.7]u;        y303    = .7[0,hx];
 rt0 x103    = x303+vertw+w0;	     y103    = y303+pwt[1,1.6]serifw;
     x204    = 3.7u;                 y204    = .48[0,hx];
 rt0 x105 = pwt[6.2,6.5]u;           y105    = pwt[.26,.29]hx;
lft0 x305= pwt[4.7,5.0]u;            y305    = .9[0,hserifb];
     x106    = 3.1u;            bot0 y106    = 0-2o;         y306 = y106+hairw;
     x307    = 1.2u;                 y307    = y105;

call bzpen(1,diagw,45);
call angledpen(2,45);
call bzpen(4,diagw,50+180);
call bzpen(7,1.3diagw,60);

call htoward(101,102,pwt[.1,.6]);
call htoward(301,302,pwt[.3,.5]);
call dxy(2,-1,0);
call dxy(3,0,-1);
call dxy(4,2.4,-1);
call dxy(5,0,-1);
call dxy(6,-1,0);
call angledpen(6,80);
call haway(107,106,pwt[.1,.3]);
call haway(307,306,pwt[.3,.5]);

% -------------------------------------------------------------------

cpen;
w0 ddraw
	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105}..
	106{w1106,w2106}..
	107{w1107,w2107},
	301{w1301,w2301}..
       	302{w1302,w2302}..
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305}..
	306{w1306,w2306}..
	307{w1307,w2307};

.
"The letter t";
call charbegin(`t,6,phi+.5pwxix,0,0);

cpen;
 rt0 x103 = good0 .6r;		top0 y203 = hdot;		% Main stroke.
     x105 = x103;		     y205 = y207;
     x207 = good0 (r+oh);	     y107 = hserifb;

call bzpen(7,	serifw,	-45);

call bchop(3, 1.2vertw,	200,	0,-1);
call bchop(5, 1.04vertw,	190,	0,-1);
call hookbserif(5,6,7,
		.4,serifconst[-o,hserifb],	.3,-o,
		.5,.5,leftedge);

call taper(     3,4,5,	.5,ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);

% .....................................................................

w0 ddraw
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105}..
	106{w1106,w2106}..
	107{w1107,w2107},
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305}..
	306{w1306,w2306}..
	307{w1307,w2307};

% ---------------------------------------------------------------------
% Cross bar.

lft0 x111 = 0;		y111 = ht;
 rt0 x112 = r;		y112 = y111;		
call bzpen(11,  hairw,	-110);
call bzpen(12,  hairw,	-110);

call lineslope(111,112);
call lineslope(311,312);

% .....................................................................

w0 ddraw
	111{w1111,w2111}..
	112{w1112,w2112},
	311{w1311,w2311}..
	312{w1312,w2312};

.
"The letter u";
call charbegin(`u,10,phi+.5pwxix,0,0);

% -------------------------------------------------------------------
% Hooked right stroke. Converted from arch. h/n u m

cpen;
 rt0 x113 = good0(8.3u);	     y213 = hx;
     x115 = x113;		     y215 = y217;
 rt0 x317 = r+pwt[.8u,.3u];	top0 y117 = hserifb;

call bchop(13, 1.04vertw,	190,	0,-1);
call bchop(15, 1.04vertw,	205,	0,-1);
call bzpen(17,	serifw,	-45);

call hookbserif(15,16,17,
		.4,serifconst[-o,hserifb],	.3,-o,
		.5,.75,leftedge);

call taper(	13,14,15,
		.5,ptaper,ptaper,ptaper,ptaper,pshrink,1);

% .....................................................................

w0 ddraw
	113{w1113,w2113}..
	114{w1114,w2114}..
	115{w1115,w2115}..
	116{w1116,w2116}..
	117{w1117,w2117},
	313{w1313,w2313}..
	314{w1314,w2314}..
	315{w1315,w2315}..
	316{w1316,w2316}..
	317{w1317,w2317};

% -------------------------------------------------------------------
% Arch. Converted from hooked left stroke. n/m/r t (u/a)

cpen;
new seriflength; seriflength = 1.6u;

     x201 = -.5u;		     y301 = hserifa;
lft0 x303 = seriflength;	     y203   = y201;
     x105 = x103;		     y305 = .85[hx,hserifb];
call colinear(213,207,215);	     y207 = .9[hx,hserifb];

call bzpen(1,	serifw,	-60);
call bchop(3,	1.04vertw,190,	0,-1);
call bchop(5, 	1.04vertw,190,	0,-1);
call bzpen(7,	serifw,	-60);

call hookaserif(1,2,3,
		.7,hx+o,	.7,serifconst[hx+o,hserifa],
		.5,.5,leftedge);
call hookbserif(5,6,7,
%		.7,hx+o,	.7,serifconst[hx+o,hserifa],
		.3,serifconst[0-o,hserifb],	.3,0-o,
		.5,.5,leftedge);

call taper(     3,4,5,
		.5,ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);

% .....................................................................

w0 ddraw
 	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105}..
	106{w1106,w2106}..
	107{w1107,w2107},
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305}..
	306{w1306,w2306}..
	307{w1307,w2307};

.
"The letter v";
call charbegin(`v,8,phi+.5pwxix,0,0);

cpen;
     x101 = 0-.7oh;		bot0 y301 = hserifa;
lft0 x303 = 1.2u;		     y303 = hserifa;
     x305 = 3.4u;		bot0 y305 = 0-o;

call bzpen(1,	serifw,	-55);
call bchop(3,	diagw,	25+180,	cosd(-70),sind(-70));
call bchop(5,	diagw,	45+180, cosd(-70),sind(-70));
call hookaserif(1,2,3,
		.77,hx+o,	.7,.7[hx+o,hserifa],
		.7,.5,leftedge);
call taper(	3,4,5,
		.45,
		ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);

% ---------------------------------------------------------------------
% Sidehang. Converted from overhang.

call samepoint(305,311);
     x314 = 7u;			     y314 = hx;		% Tip of overhang.

call bchop(11, serifw,	-90,	cosd(45),sind(45));
call bzpen(14, diagw,	35);
call hookdserif(11,13,14,
		r-vertw,.73,r,.8,
		.1,.05,rightedge);

call vtoward(111,113,.7);
call vtoward(311,313,.7);
call puff(111,112,113,.65,.8);
call puff(311,312,313,.75,.85);

% .....................................................................
% Round the inside corner of the join.

call cornerfill(104,105,111,112,2hairw);

% .....................................................................

w0 ddraw
	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105}..
	111{w1111,w2111}..
	112{w1112,w2112}..
	113{w1113,w2113}..
	114{w1114,w2114},
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305}..
	311{w1311,w2311}..
	312{w1312,w2312}..
	313{w1313,w2313}..
	314{w1314,w2314};

.
"The letter w";					% From v.
call charbegin(`w,14,phi+.5pwxix,0,0);

cpen;

% ---------------------------------------------------------------------
% Stroke 1.

     x101 = 0-.7oh;		bot0 y301 = hserifa;
lft0 x303 = 1.2u;		     y303 = hserifa;
     x305 = 2.9u;		bot0 y305 = 0-o;

call bzpen(1,	serifw,	-55);
call bchop(3,	diagw,	25+180,	cosd(-80),sind(-80));
call bchop(5,	diagw,	50+180, cosd(-80),sind(-80));
call hookaserif(1,2,3,
		.77,hx+o,	.7,.7[hx+o,hserifa],
		.7,.5,leftedge);
call taper(3,4,5,	.45,	ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);

% ---------------------------------------------------------------------
% Stroke 3.

     x121 = 8.1u;		top0 y121 = hx+o;
     x323 = 9.4u;		bot0 y323 =  0-o;

call bchop(21,	diagw,	50+180,	cosd(-70),sind(-70));
call bchop(23,	diagw,	50+180, cosd(-70),sind(-70));
call taper(21,22,23,	.5,	ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);

% ---------------------------------------------------------------------
% Stroke 2.

call arm(305,311,.7diagw,10);
call arm(121,113,.7diagw,30+180);

call bzpen(11,hairw,-45);
call bzpen(13,hairw,-45);
call taper(11,12,13,	.45,	ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);

% ---------------------------------------------------------------------
% Stroke 4. Sidehang. Converted from overhang.

call samepoint(323,331);
     x334 = 13u;		     y334 = hx;		% Tip of overhang.

call bchop(31, serifw,	-90,	cosd(45),sind(45));
call bzpen(34, diagw,	35);
call hookdserif(31,33,34,
		r-vertw,.73,r,.8,
		.1,.05,rightedge);

call vtoward(131,133,.7);
call vtoward(331,333,.7);
call puff(131,132,133,.65,.8);
call puff(331,332,333,.75,.85);

% .....................................................................
% Round the inside corner of the join.

call cornerfill(122,123,131,132,2hairw);

% ---------------------------------------------------------------------

w0 ddraw
	101{w1101,w2101}..		% Stroke 1.
	102{w1102,w2102}..
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105},
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305};

ddraw	305..204,			% Darts on either side of stroke 2.
	311..204;

ddraw	121..222,
	113..222;

ddraw	111{w1111,w2111}..		% Stroke 2.
	112{w1112,w2112}..
	113{w1113,w2113},
	311{w1311,w2311}..
  	312{w1312,w2312}..
	313{w1313,w2313};

w0 ddraw				% Strokes 3 and 4.
	121{w1121,w2121}..
	122{w1122,w2122}..
	123{w1123,w2123}..
	131{w1131,w2131}..
	132{w1132,w2132}..
	133{w1133,w2133}..
	134{w1134,w2134},
	321{w1321,w2321}..
	322{w1322,w2322}..
	323{w1323,w2323}..
	331{w1331,w2331}..
	332{w1332,w2332}..
	333{w1333,w2333}..
	334{w1334,w2334};

.
"The letter x";					% From k.
call charbegin(`x,7,phi+.5pwxix,0,0);

cpen;
new pbend; pbend = .75;	% More severe version of pshrink.

% -------------------------------------------------------------------
% Diagonal stroke: down to the left.

     x211 = 3.5u;		     y211 = .55[0,hx];
lft0 x313 = 0;			bot0 y113 = 0;

call bzpen(11, hairw,	90);
call bzpen(13, horzw,	-40+180);
call taper(11,12,13,	.5,ptaper,ptaper,ptaper,ptaper,pbend,(1/pbend));

w0 ddraw
	111{w1111,w2111}..
	112{w1112,w2112}..
	113{w1113,w2113},
	311{w1311,w2311}..
	312{w1312,w2312}..
	313{w1313,w2313};

% -------------------------------------------------------------------
% Diagonal stroke: up to the right.

     x214 = 3.5u;		     y214 = .55[0,hx];
 rt0 x316 = r;			top0 y116 = hx;

call bzpen(14, hairw,	0);
call bzpen(16, horzw,	-40);
call taper(14,15,16,	.5,ptaper,ptaper,ptaper,ptaper,(1/pshrink),pshrink);

ddraw	114{w1114,w2114}..
	115{w1115,w2115}..
	116{w1116,w2116},
	314{w1314,w2314}..
	315{w1315,w2315}..
	316{w1316,w2316};

% -------------------------------------------------------------------
% Diagonal stroke: down to the right.

lft0 x121 = 0-oh;		bot0 y321 = hserifa;
     x323 = 1.2u;		     y323 = hserifa;
     x125 = 5.4u;		     y125 = hserifb;
 rt0 x327 = r+oh;		top0 y127 = hserifb;

call bzpen(21,	serifw,	-50);
call bzpen(23, diagw,	35+180);
call bzpen(25, diagw,	50+180);
call bzpen(27,	serifw,	-50);
call taper(23,24,25,	.5,ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);
call hookaserif(21,22,23,
		.6,hx+o,	.5,serifconst[hx+o,hserifa],
		.7,.7,leftedge);
call hookbserif(25,26,27,
		.5,serifconst[-o,hserifb],	.4,-o,
		.7,.7,leftedge);

ddraw	121{w1121,w2121}..
	122{w1122,w2122}..
	123{w1123,w2123}..
	124{w1124,w2124}..
	125{w1125,w2125}..
	126{w1126,w2126}..
	127{w1127,w2127},
	321{w1321,w2321}..
	322{w1322,w2322}..
	323{w1323,w2323}..
	324{w1324,w2324}..
	325{w1325,w2325}..
	326{w1326,w2326}..
	327{w1327,w2327};
.
"The letter y";
call charbegin(`y,10,phi+.5pwxix,0,0);

% -------------------------------------------------------------------
% Right stroke. Truncated from arch. h/n u m

cpen;
 rt0 x113 = good0(8.3u);	top0 y113 = hx;
     x115 = x113;		     y115 = hserifb;

call bchop(13, 1.09vertw,	205,	0,-1);
call bchop(15, 1.06vertw,	205,	0,-1);

call taper(	13,14,15,
		.5,ptaper,ptaper,ptaper,ptaper,pshrink,1);

% .....................................................................

w0 ddraw
	113{w1113,w2113}..
	114{w1114,w2114}..
	115{w1115,w2115},
	313{w1313,w2313}..
	314{w1314,w2314}..
	315{w1315,w2315};

% -------------------------------------------------------------------
% Arch. Converted from hooked left stroke. n/m/r t (u/a)

cpen;
new seriflength; seriflength = 1.6u;

     x201 = -.5u;		     y301 = hserifa;
lft0 x303 = seriflength;	     y203 = y201;
     x105 = x103;		     y305 = hserifb;
call colinear(213,207,215);	     y207 = .9[hx,hserifb];

call bzpen(1,	serifw,	-60);
call bchop(3,	1.08vertw,190,	0,-1);
call bchop(5,	1.08vertw,190,	0,-1);
call bzpen(7,	serifw,	-60);

call hookaserif(1,2,3,
		.7,hx+o,	.7,serifconst[hx+o,hserifa],
		.5,.5,leftedge);
call hookbserif(5,6,7,
%		.7,hx+o,	.7,serifconst[hx+o,hserifa],
		.3,serifconst[0-o,hserifb],	.3,0-o,
		.5,.5,leftedge);

call taper(     3,4,5,
		.5,ptaper,ptaper,ptaper,ptaper,pshrink,pshrink);

% .....................................................................

w0 ddraw
 	101{w1101,w2101}..
	102{w1102,w2102}..
	103{w1103,w2103}..
	104{w1104,w2104}..
	105{w1105,w2105}..
	106{w1106,w2106}..
	107{w1107,w2107},
	301{w1301,w2301}..
	302{w1302,w2302}..
	303{w1303,w2303}..
	304{w1304,w2304}..
	305{w1305,w2305}..
	306{w1306,w2306}..
	307{w1307,w2307};

% ---------------------------------------------------------------------
% Underhang. Converted from overhang.

call samezpoint(15,21);
     x124 = .8[0,x303];		     y124 = .7[0,hy];	% Tip of overhang.

call bzpen(24,	diagw,	53);

call hookbserif(21,23,24,
%		.7,hh+o,.55,.4[hh+o,y324],
		.7,(hy-o),.55,(hy-o)+.5[diagw,hairw],
		.1,.2,rightedge);

call sameslope(21,13);
call puff(121,122,123,.65,.85);
call puff(321,322,323,.65,.8);

% .....................................................................

w0 ddraw
	121{w1121,w2121}..
	122{w1122,w2122}..
	123{w1123,w2123}..
	124{w1124,w2124},
	321{w1321,w2321}..
	322{w1322,w2322}..
	323{w1323,w2323}..
	324{w1324,w2324};
.
"The letter z";
call charbegin(`z,7,phi+.5pwxix,0,0);
no proofmode; x1=0; y1=0; cpen; 1 draw 1; proofmode;
.